﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SRD.Model.SRD.BO;
using SRD.Model.SRD.DTO;
using SRD.Classes;
using System.Data;

namespace SRD.View.Views
{
    public partial class listProfissional : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CarregarGridProfissional();
                if (Session["mensagem"] != null)
                {
                    MessageBox.Show(Session["mensagem"].ToString(), MessageBox.MessageType.Success);
                    Session["mensagem"] = null;
                }
            }
        }

        protected void PesquisaProfissionais(object sender, ImageClickEventArgs e)
        {
            Usuario usuario = (Usuario)Session["usuario"];
            ProfissionalBO profissional = new ProfissionalBO();
            String nomeProfissional = TextBoxPesquisa.Text;
            IQueryable dtsProfissional = profissional.findByName(nomeProfissional, usuario.empresa);
            if (dtsProfissional != null)
            {
                CarregarGridProfissional(dtsProfissional);
            }
            else
            {
                MessageBox.Show("Não foi encontrado nenhum registro com essa informação!", MessageBox.MessageType.Success);
            }
            TextBoxPesquisa.Text = "";
        }

        public void CarregarGridProfissional()
        {
            Usuario usuario = (Usuario)Session["usuario"];
            ProfissionalBO profissional = new ProfissionalBO();
            GridProfissional.DataSource = profissional.findProfissionalCargoSetor(usuario.empresa);
            GridProfissional.DataBind();
        }

        public void CarregarGridProfissional(IQueryable profissionais)
        {
            GridProfissional.DataSource = profissionais;
            GridProfissional.DataBind();
        }

        protected void BtNovo_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("editProfissional.aspx");
        }

        protected void BtVoltar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void GridProfissional_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridProfissional.PageIndex = e.NewPageIndex;
            CarregarGridProfissional();
        }

        protected void GridProfissional_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            PROFISSIONAL objProfissional = new PROFISSIONAL();
            ProfissionalBO profissional = new ProfissionalBO();
            String resposta;

            objProfissional.PROFISSIONAL_ID = Convert.ToInt32(GridProfissional.DataKeys[e.RowIndex].Value);

            resposta = profissional.delete(objProfissional);

            CarregarGridProfissional();

            MessageBox.Show(resposta, MessageBox.MessageType.Success);
        }
    }
}